<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BScrollBar</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BScrollBar">
			<h1>BScrollBar</h1>
			<p>继承自<a href="BWidget.html">BWidget</a></p>
			<p id="resume">BScrollBar是整数滑动条，使用鼠标拖动的方式改变数值区域。<a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"></td><td><a href="#BScrollBar(BWidget*)">BScrollBar</a>(BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BScrollBar(const BString&,BWidget*)">BScrollBar</a>(const BString& name, BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BScrollBar(Orientation,BWidget*)">BScrollBar</a>(Orientation orientation, BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BScrollBar(int, int,BWidget*)">BScrollBar</a>(int minimum, int maximum, BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BScrollBar(int, int, Orientation,BWidget*)">BScrollBar</a>(int minimum, int maximum, Orientation orientation, BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BScrollBar(const BRange&,BWidget*)">BScrollBar</a>(const BRange& range, BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BScrollBar(const BRange&, Orientation,BWidget*)">BScrollBar</a>(const BRange& range, Orientation orientation, BWidget* parent = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#~BScrollBar()">~BScrollBar</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setOrientation(Orientation)">setOrientation</a>(Orientation orientation);</td></tr>
				<tr><td align="right">Orientation </td><td><a href="#orientation()">orientation</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setValue(int)">setValue</a>(int value);</td></tr>
				<tr><td align="right">int </td><td><a href="#value()">value</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setPage(int)">setPage</a>(int page);</td></tr>
				<tr><td align="right">int </td><td><a href="#page()">page</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setRange(int, int)">setRange</a>(int minimum, int maximum);</td></tr>
				<tr><td align="right">void </td><td><a href="#setRange(const BRange&)">setRange</a>(const BRange& range);</td></tr>
				<tr><td align="right">const BRange& </td><td><a href="#range()">range</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setMinimum(int)">setMinimum</a>(int minimum);</td></tr>
				<tr><td align="right">int </td><td><a href="#minimum()">minimum</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setMaximum(int)">setMaximum</a>(int maximum);</td></tr>
				<tr><td align="right">int </td><td><a href="#maximum()">maximum</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setStep(int)">setStep</a>(int step);</td></tr>
				<tr><td align="right">int </td><td><a href="#step()">step</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#increase()">increase</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#decrease()">decrease</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setButtonShown(bool)">setButtonShown</a>(bool buttonShown);</td></tr>
				<tr><td align="right">bool </td><td><a href="#buttonShown()">buttonShown</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setHandleSize(const BSize&)">setHandleSize</a>(const BSize& handleSize);</td></tr>
				<tr><td align="right">const BSize& </td><td><a href="#handleSize()">handleSize</a>() const;</td></tr>
				<tr><td align="right">virtual BSize </td><td><a href="#sizeHint()">sizeHint</a>() const;</td></tr>
				<tr><td align="right">using </td><td><a href="#BWidget::query;()">BWidget::query;</a></td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#query(const BString&, BValue&)">query</a>(const BString& text, BValue& value) const;</td></tr>
			</table>
			<h2>protected</h2>
			<table id="protected">
				<tr><td align="right">virtual void </td><td><a href="#resizeEvent(const BEvent&)">resizeEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#styleEvent(const BEvent&)">styleEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#freshEvent(const BEvent&)">freshEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#paintEvent(const BEvent&)">paintEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseEnterEvent(const BMouseEvent&)">mouseEnterEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseLeaveEvent(const BMouseEvent&)">mouseLeaveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mousePressEvent(const BMouseEvent&)">mousePressEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseReleaseEvent(const BMouseEvent&)">mouseReleaseEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseMoveEvent(const BMouseEvent&)">mouseMoveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseWheelEvent(const BMouseEvent&)">mouseWheelEvent</a>(const BMouseEvent& wheelEvent);</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
				<p>BScrollBar是整数滑动条，使用鼠标拖动的方式改变数值区域。数值范围限定可改变的值区间，页值是指手柄示意的大小，当前值与页值结合表示一个数值区间。</p><h4>信号表：</h4><table>
					<tr><td>Signal_OrientationChanged</td><td>方向改变时发出，值为：Orientation orientation。</td></tr>
					<tr><td>Signal_ValueChanged</td><td>值被改变时发出，值为：int value。</td></tr>
					<tr><td>Signal_PageChanged</td><td>页值被改变时发出，值为：int page。</td></tr>
					<tr><td>Signal_RangeChanged</td><td>数值区间被改变时发出，值为：BRange range。</td></tr>
					<tr><td>Signal_StepChanged</td><td>单步调整值被改变时发出，值为：int step。</td></tr>
					<tr><td>Signal_Scrolling</td><td>正在拖拽操作时发出，值为：int value。</td></tr>
					<tr><td>Signal_ScrollFinished</td><td>拖拽操作完成时发出，值为：int value。</td></tr></table>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BScrollBar(BWidget*)">
				<h3>BScrollBar(BWidget* parent = 0);</h3>
				<p>构建一个滑动条，parent指定父控件。</p>
			</div>
			<div id="BScrollBar(const BString&,BWidget*)">
				<h3>BScrollBar(const BString&amp; name, BWidget* parent = 0);</h3>
				<p>构建一个滑动条，name指定其名称，parent指定父控件。</p>
			</div>
			<div id="BScrollBar(Orientation,BWidget*)">
				<h3>BScrollBar(Orientation orientation, BWidget* parent = 0);</h3>
				<p>构建一个滑动条，orientation指定方向，parent指定父控件。</p>
			</div>
			<div id="BScrollBar(int, int,BWidget*)">
				<h3>BScrollBar(int minimum, int maximum, BWidget* parent = 0);</h3>
			</div>
			<div id="BScrollBar(int, int, Orientation,BWidget*)">
				<h3>BScrollBar(int minimum, int maximum, Orientation orientation, BWidget* parent = 0);</h3>
			</div>
			<div id="BScrollBar(const BRange&,BWidget*)">
				<h3>BScrollBar(const BRange&amp; range, BWidget* parent = 0);</h3>
			</div>
			<div id="BScrollBar(const BRange&, Orientation,BWidget*)">
				<h3>BScrollBar(const BRange&amp; range, Orientation orientation, BWidget* parent = 0);</h3>
			</div>
			<div id="~BScrollBar()">
				<h3>~BScrollBar();</h3>
				<p>析构一个滑动条。</p>
			</div>
			<div id="setOrientation(Orientation)">
				<h3>void setOrientation(Orientation orientation);</h3>
				<p>设置滑动条的方向。</p>
			</div>
			<div id="orientation()">
				<h3>Orientation orientation() const;</h3>
				<p>获得滑动条的方向。</p>
			</div>
			<div id="setValue(int)">
				<h3>bool setValue(int value);</h3>
				<p>设置当前值。</p>
			</div>
			<div id="value()">
				<h3>int value() const;</h3>
				<p>获得当前值。</p>
			</div>
			<div id="setPage(int)">
				<h3>void setPage(int page);</h3>
				<p>设置页值。</p>
			</div>
			<div id="page()">
				<h3>int page() const;</h3>
				<p>获得页值。</p>
			</div>
			<div id="setRange(int, int)">
				<h3>void setRange(int minimum, int maximum);</h3>
				<p>设置数值范围。</p>
			</div>
			<div id="setRange(const BRange&)">
				<h3>void setRange(const BRange&amp; range);</h3>
				<p>设置数值范围。</p>
			</div>
			<div id="range()">
				<h3>const BRange&amp; range() const;</h3>
				<p>获得数值范围。</p>
			</div>
			<div id="setMinimum(int)">
				<h3>void setMinimum(int minimum);</h3>
				<p>设置数值范围的下限。</p>
			</div>
			<div id="minimum()">
				<h3>int minimum() const;</h3>
				<p>获得数值范围的下限。</p>
			</div>
			<div id="setMaximum(int)">
				<h3>void setMaximum(int maximum);</h3>
				<p>设置数值范围的上限。</p>
			</div>
			<div id="maximum()">
				<h3>int maximum() const;</h3>
				<p>获得数值范围的上限。</p>
			</div>
			<div id="setStep(int)">
				<h3>void setStep(int step);</h3>
				<p>设置单步调整值。</p>
			</div>
			<div id="step()">
				<h3>int step() const;</h3>
				<p>获得单步调整值。</p>
			</div>
			<div id="increase()">
				<h3>void increase();</h3>
				<p>当前值增加单步值。</p>
			</div>
			<div id="decrease()">
				<h3>void decrease();</h3>
				<p>当前值减少单步值。</p>
			</div>
			<div id="setButtonShown(bool)">
				<h3>void setButtonShown(bool buttonShown);</h3>
				<p>设置单步调整按钮是否显示。</p>
			</div>
			<div id="buttonShown()">
				<h3>bool buttonShown() const;</h3>
				<p>获得单步调整按钮是否显示。</p>
			</div>
			<div id="setHandleSize(const BSize&)">
				<h3>void setHandleSize(const BSize&amp; handleSize);</h3>
				<p>设置手柄尺寸，此尺寸只关系到次要尺寸，主尺寸是由值的比例决定的。</p>
			</div>
			<div id="handleSize()">
				<h3>const BSize&amp; handleSize() const;</h3>
				<p>获得手柄尺寸。</p>
			</div>
			<div id="sizeHint()">
				<h3>virtual BSize sizeHint() const;</h3>
				<p>计算合适的尺寸，预设10个字符大小。</p>
			</div>
			<div id="BWidget::query;()">
				<h3>using BWidget::query;</h3>
			</div>
			<div id="query(const BString&, BValue&)">
				<h3>virtual bool query(const BString&amp; text, BValue&amp; value) const;</h3>
			</div>
			<div id="resizeEvent(const BEvent&)">
				<h3>virtual void resizeEvent(const BEvent&amp; event);</h3>
				<p>标记此滑动条为需要重新调整。</p>
			</div>
			<div id="styleEvent(const BEvent&)">
				<h3>virtual void styleEvent(const BEvent&amp; event);</h3>
				<p>样式取值表：</p><table>
					<tr><td>Value_Handle_Size</td><td>取值为手柄尺寸，值为：BSize handleSize。</td></tr></table><p>如果当前显示单步按钮，则设置按钮的图标尺寸为半个字体大小。</p>
			</div>
			<div id="freshEvent(const BEvent&)">
				<h3>virtual void freshEvent(const BEvent&amp; event);</h3>
				<p>重新调整显示布局。</p>
			</div>
			<div id="paintEvent(const BEvent&)">
				<h3>virtual void paintEvent(const BEvent&amp; event);</h3>
				<p>绘制手柄。</p>
			</div>
			<div id="mouseEnterEvent(const BMouseEvent&)">
				<h3>virtual void mouseEnterEvent(const BMouseEvent&amp; mouseEvent);</h3>
				<p>更新手柄悬停的状态。</p>
			</div>
			<div id="mouseLeaveEvent(const BMouseEvent&)">
				<h3>virtual void mouseLeaveEvent(const BMouseEvent&amp; mouseEvent);</h3>
				<p>更新手柄悬停的状态。</p>
			</div>
			<div id="mousePressEvent(const BMouseEvent&)">
				<h3>virtual void mousePressEvent(const BMouseEvent&amp; mouseEvent);</h3>
				<p>更新手柄按下的状态。</p>
			</div>
			<div id="mouseReleaseEvent(const BMouseEvent&)">
				<h3>virtual void mouseReleaseEvent(const BMouseEvent&amp; mouseEvent);</h3>
				<p>更新手柄按下的状态。</p>
			</div>
			<div id="mouseMoveEvent(const BMouseEvent&)">
				<h3>virtual void mouseMoveEvent(const BMouseEvent&amp; mouseEvent);</h3>
				<p>更新手柄悬停的状态，并执行拖动操作。</p>
			</div>
			<div id="mouseWheelEvent(const BMouseEvent&)">
				<h3>virtual void mouseWheelEvent(const BMouseEvent&amp; wheelEvent);</h3>
				<p>执行单步数值修改操作。</p>
			</div>
		</div>
	</body>
</html>